As computers become more and more integrated into our modern society, there is a growing need for tools that will allow a user to efficiently enter data into a computer. Some of the most desired input tools are those that allow a user to enter data using natural input techniques rather than typing on a physical or software QWERTY keyboard. These natural input techniques, which include handwriting, offer users the promise of a familiar and convenient method of creating data that requires no special skills.
To this end, great strides have been made in developing software applications that allow a user to input data by handwriting. These applications allow a user to employ a pen or stylus to write in electronic ink. More particularly, these applications register the location of the stylus as it moves across a writing surface. These locations are then grouped together into a stroke, which conceptually corresponds to a stroke formed with physical ink. The strokes can then be collected into larger groups to form letters, words, and lines. Electronic ink can be converted into text, such as, for example, ASCII text. The electronic ink also can be stored itself as content in an electronic file.
Some software applications have even been developed that allow a user to handwrite electronic ink directly into the existing content of an electronic file. For example, electronic book applications display content in the form of the text and drawings of a book. In addition to allowing a user to simply view text and images, some electronic book applications may allow a user to annotate portions of the content with electronic ink. For example, some electronic book applications may permit a user to handwrite annotations with electronic ink in the margins of the text. Still other electronic book applications may even allow a user to handwrite annotations with electronic ink over the text or drawings themselves. Thus, these applications offer a user the ability to add handwritten electronic ink to existing content.
Still other software applications provide a user with a transparent interface that allows the user to write electronic ink over displayed content. More particularly, these applications provide a transparent user interface that overlays some or all of the content rendered on a display. The user can then designate an insertion point somewhere in the displayed content, which may or may not be located in the content directly under the transparent interface. The user then writes the electronic ink into the transparent interface overlay, rather than into the content underlying the transparent interface. A recognition process recognizes text corresponding to the electronic ink, and inserts the recognized text into the displayed content at the insertion point. Thus, while it may appear that the user is writing the electronic ink into the underlying content, the user is actually writing the electronic ink onto the transparent interface “over” the underlying content. With some embodiments of these applications, text can be recognized from the electronic ink and inserted immediately, while other embodiments of these applications may postpone recognizing the electronic ink until the user has completed writing the electronic ink or specifically commands the application to recognize the written ink.
As may be appreciated, however, individual handwriting for electronic ink can vary widely. While some people can handwrite even cursive letters neatly and in a straight line, others may have difficulty writing legibly without some assistance. This difficulty can be compounded if the application is being implemented on an unfamiliar writing surface, such as a large, unwieldy digitizing display. Accordingly, there is a need for a handwriting input interface that will assist a user in legibly handwriting electronic ink into or over existing content.